<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        function Father(uname,age){
            this.uname = uname
            this.age = age
        }
    
        // console.log(zs)
        Father.prototype.money = function(){
            console.log('赚钱')
        }
        const zs = new Father('zs',29)
        zs.money()

        function Son(uname,age){
            // 调用函数，改变this指向，指向自己继承
           Father.call(this,uname,age)
        }
        // 直接继承原型对象会覆盖
        // Son.prototype = Father.prototype


         // 继承方法,直接将实例化对象赋值给自己，可以通过__proto__使用父亲的方法
         Son.prototype = new Father()
        
        // Son的原型上constuctor 重新指回自己
        Son.prototype.constructor = Son

        Son.prototype.exam = function(){
            console.log('考了100分')
        }
       
       
   

       
        
        const ls = new Son('ls',2)
        console.log(ls);
        ls.money()
        ls.exam()
        // zs.exam() 不可以用了
        
    </script>
</body>
</html>